guard gtk_widget_get_snapshot() against invalid or invisible widgets.
author10:33:41 Tim Janik <timj@imendio.com>
Tue, 27 May 2008 08:35:24 +0000 (08:35 +0000)
committerTim Janik <timj@src.gnome.org>
Tue, 27 May 2008 08:35:24 +0000 (08:35 +0000)
2008-05-27 10:33:41  Tim Janik  <timj@imendio.com>

        * gtk/gtkwidget.c: guard gtk_widget_get_snapshot() against
        invalid or invisible widgets.

svn path=/trunk/; revision=20187

ChangeLog
gtk/gtkwidget.c

index 52cd7261e271d501429b43296229f74b65fb1564..d2beae749c09db966abddfcf8428269df2af208d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-27 10:33:41  Tim Janik  <timj@imendio.com>
+
+       * gtk/gtkwidget.c: guard gtk_widget_get_snapshot() against
+       invalid or invisible widgets.
+
 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
 
        Bug 531008 – Crash in gtkprintunixdialog.c
index 171be8525c95216ebf3436b38e7c52def4606d22..7496c00c88e2e2146a1fbd2605b2a404c51a80df 100644 (file)
@@ -8356,6 +8356,10 @@ gtk_widget_get_snapshot (GtkWidget    *widget,
   GdkPixmap *pixmap;
   GList *windows = NULL, *list;
 
+  g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+  if (!GTK_WIDGET_VISIBLE (widget))
+    return NULL;
+
   /* the widget (and parent_window) must be realized to be drawable */
   if (widget->parent && !GTK_WIDGET_REALIZED (widget->parent))
     gtk_widget_realize (widget->parent);